# Load required packages
library(dplyr)
library(tidyverse)
library(tidycensus)
library(knitr)
library(tigris)
library(sf)
library(broom)
library(scales)
library(patchwork)
library(here)
library(ggplot2)
## notation
#| include: false
options(scipen = 999)
# Load spatial data
pa_county_boundries = st_read("data/Pennsylvania_County_Boundaries.shp")Reading layer `Pennsylvania_County_Boundaries' from data source
`/Users/JoshuaRigsby 1/Documents/MUSA/MUSA5080/Portfolio/portfolio-setup-jrigsbyr5/labs/lab2/data/Pennsylvania_County_Boundaries.shp'
using driver `ESRI Shapefile'
Simple feature collection with 67 features and 19 fields
Geometry type: MULTIPOLYGON
Dimension: XY
Bounding box: xmin: -8963377 ymin: 4825316 xmax: -8314404 ymax: 5201413
Projected CRS: WGS 84 / Pseudo-Mercator
pa_hospitals = st_read("data/hospitals.geojson")Reading layer `hospitals' from data source
`/Users/JoshuaRigsby 1/Documents/MUSA/MUSA5080/Portfolio/portfolio-setup-jrigsbyr5/labs/lab2/data/hospitals.geojson'
using driver `GeoJSON'
Simple feature collection with 223 features and 11 fields
Geometry type: POINT
Dimension: XY
Bounding box: xmin: -80.49621 ymin: 39.75163 xmax: -74.86704 ymax: 42.13403
Geodetic CRS: WGS 84
census_tracts = tracts(state = "PA", cb = TRUE)
|
| | 0%
|
|= | 1%
|
|== | 2%
|
|== | 3%
|
|=== | 4%
|
|=== | 5%
|
|==== | 6%
|
|===== | 7%
|
|===== | 8%
|
|====== | 9%
|
|======= | 10%
|
|======= | 11%
|
|======== | 12%
|
|========= | 13%
|
|========== | 15%
|
|=========== | 16%
|
|============ | 17%
|
|============ | 18%
|
|============= | 18%
|
|============== | 19%
|
|============== | 20%
|
|=============== | 21%
|
|=============== | 22%
|
|================ | 23%
|
|================= | 24%
|
|================= | 25%
|
|================== | 26%
|
|=================== | 27%
|
|=================== | 28%
|
|==================== | 29%
|
|===================== | 30%
|
|===================== | 31%
|
|====================== | 32%
|
|======================= | 33%
|
|======================== | 34%
|
|======================== | 35%
|
|========================= | 36%
|
|========================== | 37%
|
|=========================== | 38%
|
|=========================== | 39%
|
|============================ | 40%
|
|============================= | 41%
|
|============================= | 42%
|
|============================== | 43%
|
|=============================== | 44%
|
|=============================== | 45%
|
|================================ | 46%
|
|================================= | 47%
|
|================================== | 48%
|
|================================== | 49%
|
|=================================== | 50%
|
|==================================== | 51%
|
|===================================== | 52%
|
|===================================== | 53%
|
|====================================== | 54%
|
|======================================= | 55%
|
|======================================= | 56%
|
|======================================== | 57%
|
|========================================= | 58%
|
|========================================= | 59%
|
|========================================== | 60%
|
|=========================================== | 61%
|
|=========================================== | 62%
|
|============================================ | 63%
|
|============================================= | 64%
|
|============================================== | 65%
|
|============================================== | 66%
|
|=============================================== | 67%
|
|================================================ | 68%
|
|================================================= | 70%
|
|================================================== | 71%
|
|================================================== | 72%
|
|=================================================== | 73%
|
|==================================================== | 74%
|
|===================================================== | 75%
|
|====================================================== | 77%
|
|====================================================== | 78%
|
|======================================================= | 79%
|
|======================================================== | 80%
|
|========================================================= | 81%
|
|========================================================== | 82%
|
|========================================================== | 83%
|
|=========================================================== | 84%
|
|============================================================ | 85%
|
|============================================================ | 86%
|
|============================================================= | 87%
|
|============================================================== | 88%
|
|=============================================================== | 90%
|
|================================================================ | 91%
|
|================================================================= | 92%
|
|================================================================= | 93%
|
|================================================================== | 94%
|
|=================================================================== | 95%
|
|=================================================================== | 96%
|
|==================================================================== | 98%
|
|===================================================================== | 99%
|
|======================================================================| 100%
# Check that all data loaded correctly
glimpse(pa_county_boundries)Rows: 67
Columns: 20
$ OBJECTID <int> 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,…
$ MSLINK <int> 46, 8, 9, 58, 59, 60, 62, 63, 42, 43, 44, 47, 48, 49, 50, 5…
$ COUNTY_NAM <chr> "MONTGOMERY", "BRADFORD", "BUCKS", "TIOGA", "UNION", "VENAN…
$ COUNTY_NUM <chr> "46", "08", "09", "58", "59", "60", "62", "63", "42", "43",…
$ FIPS_COUNT <chr> "091", "015", "017", "117", "119", "121", "125", "127", "08…
$ COUNTY_ARE <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ COUNTY_PER <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ NUMERIC_LA <int> 5, 2, 5, 2, 2, 3, 1, 2, 1, 3, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1,…
$ COUNTY_N_1 <int> 46, 8, 9, 58, 59, 60, 62, 63, 42, 43, 44, 47, 48, 49, 50, 5…
$ AREA_SQ_MI <dbl> 487.4271, 1161.3379, 622.0836, 1137.2480, 319.1893, 683.367…
$ SOUND <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ SPREAD_SHE <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ IMAGE_NAME <chr> "poll.bmp", "poll.bmp", "poll.bmp", "poll.bmp", "poll.bmp",…
$ NOTE_FILE <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ VIDEO <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ DISTRICT_N <chr> "06", "03", "06", "03", "03", "01", "12", "04", "02", "01",…
$ PA_CTY_COD <chr> "46", "08", "09", "59", "60", "61", "63", "64", "42", "43",…
$ MAINT_CTY_ <chr> "4", "9", "1", "7", "8", "5", "4", "6", "5", "4", "7", "3",…
$ DISTRICT_O <chr> "6-4", "3-9", "6-1", "3-7", "3-8", "1-5", "12-4", "4-6", "2…
$ geometry <MULTIPOLYGON [m]> MULTIPOLYGON (((-8398884 48..., MULTIPOLYGON (…
glimpse(pa_hospitals)Rows: 223
Columns: 12
$ CHIEF_EXEC <chr> "Peter J Adamo", "Autumn DeShields", "Shawn Parekh", "DIANE…
$ CHIEF_EX_1 <chr> "President", "Chief Executive Officer", "Chief Executive Of…
$ FACILITY_U <chr> "https://www.phhealthcare.org", "https://www.malvernbh.com"…
$ LONGITUDE <dbl> -79.91131, -75.17005, -75.20963, -80.27907, -79.02513, -75.…
$ COUNTY <chr> "Washington", "Philadelphia", "Philadelphia", "Washington",…
$ FACILITY_N <chr> "Penn Highlands Mon Valley", "MALVERN BEHAVIORAL HEALTH", "…
$ STREET <chr> "1163 Country Club Road", "1930 South Broad Street Unit 4",…
$ CITY_OR_BO <chr> "Monongahela", "Philadelphia", "Philadelphia", "WASHINGTON"…
$ LATITUDE <dbl> 40.18193, 39.92619, 40.02869, 40.15655, 39.80913, 40.24273,…
$ TELEPHONE_ <chr> "724-258-1000", "610-480-8919", "215-483-9900", "7248840710…
$ ZIP_CODE <chr> "15063", "19145", "19128", "15301", "15552", "19464", "1776…
$ geometry <POINT [°]> POINT (-79.91131 40.18193), POINT (-75.17005 39.9262)…
glimpse(census_tracts)Rows: 3,445
Columns: 14
$ STATEFP <chr> "42", "42", "42", "42", "42", "42", "42", "42", "42", "42",…
$ COUNTYFP <chr> "001", "013", "013", "013", "013", "011", "011", "011", "01…
$ TRACTCE <chr> "031101", "100400", "100500", "100800", "101900", "011200",…
$ GEOIDFQ <chr> "1400000US42001031101", "1400000US42013100400", "1400000US4…
$ GEOID <chr> "42001031101", "42013100400", "42013100500", "42013100800",…
$ NAME <chr> "311.01", "1004", "1005", "1008", "1019", "112", "2", "115"…
$ NAMELSAD <chr> "Census Tract 311.01", "Census Tract 1004", "Census Tract 1…
$ STUSPS <chr> "PA", "PA", "PA", "PA", "PA", "PA", "PA", "PA", "PA", "PA",…
$ NAMELSADCO <chr> "Adams County", "Blair County", "Blair County", "Blair Coun…
$ STATE_NAME <chr> "Pennsylvania", "Pennsylvania", "Pennsylvania", "Pennsylvan…
$ LSAD <chr> "CT", "CT", "CT", "CT", "CT", "CT", "CT", "CT", "CT", "CT",…
$ ALAND <dbl> 3043185, 993724, 1130204, 996553, 573726, 1539365, 1949529,…
$ AWATER <dbl> 0, 0, 0, 0, 0, 9308, 159015, 12469, 0, 0, 0, 1271, 6352, 74…
$ geometry <MULTIPOLYGON [°]> MULTIPOLYGON (((-77.03108 3..., MULTIPOLYGON (…
# Checking CRS
st_crs(pa_county_boundries)Coordinate Reference System:
User input: WGS 84 / Pseudo-Mercator
wkt:
PROJCRS["WGS 84 / Pseudo-Mercator",
BASEGEOGCRS["WGS 84",
ENSEMBLE["World Geodetic System 1984 ensemble",
MEMBER["World Geodetic System 1984 (Transit)"],
MEMBER["World Geodetic System 1984 (G730)"],
MEMBER["World Geodetic System 1984 (G873)"],
MEMBER["World Geodetic System 1984 (G1150)"],
MEMBER["World Geodetic System 1984 (G1674)"],
MEMBER["World Geodetic System 1984 (G1762)"],
MEMBER["World Geodetic System 1984 (G2139)"],
MEMBER["World Geodetic System 1984 (G2296)"],
ELLIPSOID["WGS 84",6378137,298.257223563,
LENGTHUNIT["metre",1]],
ENSEMBLEACCURACY[2.0]],
PRIMEM["Greenwich",0,
ANGLEUNIT["degree",0.0174532925199433]],
ID["EPSG",4326]],
CONVERSION["Popular Visualisation Pseudo-Mercator",
METHOD["Popular Visualisation Pseudo Mercator",
ID["EPSG",1024]],
PARAMETER["Latitude of natural origin",0,
ANGLEUNIT["degree",0.0174532925199433],
ID["EPSG",8801]],
PARAMETER["Longitude of natural origin",0,
ANGLEUNIT["degree",0.0174532925199433],
ID["EPSG",8802]],
PARAMETER["False easting",0,
LENGTHUNIT["metre",1],
ID["EPSG",8806]],
PARAMETER["False northing",0,
LENGTHUNIT["metre",1],
ID["EPSG",8807]]],
CS[Cartesian,2],
AXIS["easting (X)",east,
ORDER[1],
LENGTHUNIT["metre",1]],
AXIS["northing (Y)",north,
ORDER[2],
LENGTHUNIT["metre",1]],
USAGE[
SCOPE["Web mapping and visualisation."],
AREA["World between 85.06°S and 85.06°N."],
BBOX[-85.06,-180,85.06,180]],
ID["EPSG",3857]]
st_crs(pa_hospitals)Coordinate Reference System:
User input: WGS 84
wkt:
GEOGCRS["WGS 84",
DATUM["World Geodetic System 1984",
ELLIPSOID["WGS 84",6378137,298.257223563,
LENGTHUNIT["metre",1]]],
PRIMEM["Greenwich",0,
ANGLEUNIT["degree",0.0174532925199433]],
CS[ellipsoidal,2],
AXIS["geodetic latitude (Lat)",north,
ORDER[1],
ANGLEUNIT["degree",0.0174532925199433]],
AXIS["geodetic longitude (Lon)",east,
ORDER[2],
ANGLEUNIT["degree",0.0174532925199433]],
ID["EPSG",4326]]
st_crs(census_tracts)Coordinate Reference System:
User input: NAD83
wkt:
GEOGCRS["NAD83",
DATUM["North American Datum 1983",
ELLIPSOID["GRS 1980",6378137,298.257222101,
LENGTHUNIT["metre",1]]],
PRIMEM["Greenwich",0,
ANGLEUNIT["degree",0.0174532925199433]],
CS[ellipsoidal,2],
AXIS["latitude",north,
ORDER[1],
ANGLEUNIT["degree",0.0174532925199433]],
AXIS["longitude",east,
ORDER[2],
ANGLEUNIT["degree",0.0174532925199433]],
ID["EPSG",4269]]